#!/usr/bin/env python
# -*- encoding: utf-8 -*-
# Project: spd-sxmcc
"""
@file: main.py
@author: lyndon
@time: Created on 2021-11-06 13:16
@env: Python
@desc:
@ref:
@blog:

传说西塔发明了国际象棋而使国王十分高兴，他决定要重赏西塔。
西塔说：“我不要你的重赏，陛下，只要你在我的棋盘上赏一些麦子就行了。
在棋盘的第1个格子里放1粒，在第2个格子里放2粒，在第3个格子里放4粒，在第4个格子里放8粒，
依此类推，以 后每一个格子里放的麦粒数都是前一个格子里放的麦粒数的2倍，直到放满第64个格子就行了”。

区区小数，几粒麦子，这有何难，“来人”，国王令人如数付给西塔。
计数麦粒的工作开始了，第一格内放1粒，第二格内放2粒，第三格内放4粒。还没有到第二十格，一袋麦子已经空了。
一袋又一袋的麦子被扛到国王面前来。但是，麦粒数一格接一格飞快增长着，国王很快就看出，即便拿出全国的粮食，也兑现不了他对西塔的诺言。
"""


def rice(grid: int) -> float:
    """
    :param grid:
    :return:
    """
    if grid == 0:
        return 0
    elif grid == 1:
        return 1
    return rice(grid - 1) * 2


if __name__ == '__main__':
    rice_sum = 0
    for n in range(1, 65):
        cur_grid_rice = rice(n)
        print(f"cur:{n} -> rice:{cur_grid_rice}")
        rice_sum += cur_grid_rice
    print(f"total_rice:{rice_sum}")
